\tracingonline=2
\tracingcommands=2
\tracingmacros=2
\tracingrestores=2

\catcode`{=1
\catcode`}=2
\catcode`#=6

{

\def\x{}
\show\x
\def\x#1#2{xx}
\show\x
\def\x#1#2#{xx}
\show\x

\long\def\x{}
\show\x

\def\x#1#2#3#4#5#6#7#8#9#a#b{}
\show\x

% edef
%\edef\x{\y}
%\show\x
\edef\x{zz}
\show\x
\edef\x{\number10}
\show\x
%\edef\y{yy\x} %TODO!
%\show\y

% Errors
\def\x#0{xx}

\def\x#2#3{xx}
\show\x

\def\x#2#2{xx}
\show\x

\def\x##3{xx}
\show\x

\def\x##2{xx}
\show\x

\def\x}
\show\x

\def\x{#1#2#a##}
\def\x#1{#1#2#a##}

#1#2###a#b

\def\g{zz}
\gdef\g{zz}

}

\end
